/**
 * 信息提示框
 */
class MessageBox {

    /**
     * 
     * @param {{
     *      root: string,
     *      content: string
     * }} data {
     *      root: 提示框选择器
     *      content：文本节点选择器
     * }
     */
    constructor(data) {
        const defaultData = { root: '.message-box', content: '.content' };
        Object.assign(defaultData, data);
        this.root = document.querySelector(defaultData.root);
        this.content = this.root.querySelector(defaultData.content);
    }

    /**
     * 关闭提示框
     */
    hide() {
        this.root.classList.add('hide');
        this.content.textContent = '';
    }

    /**
     * 显示提示框
     * @param {string} message 提示信息
     */
    show(message) {
        this.root.classList.remove('hide');
        this.content.textContent = message;
    }

    /**
     * 监听关闭按钮点击事件，关闭提示框
     * @param {string} closeBtnSelector 关闭按钮选择器
     */
    addCloseEventListener(closeBtnSelector = '.header button') {
        this.root.querySelector(closeBtnSelector).addEventListener('click', () => {
            this.hide();
        });
    }
}